//
// Created by mongobaba on 2021/6/6.
//

#include "unit_test.h"
#include "json_validator.h"

// 特殊情况
TEST(parse_hex_empty) {
    json_validator validator("");
    ASSERT_EQ(false, validator.parse_hex());
    ASSERT_EQ(std::string(""), validator.left());
}

// 后续为digit
TEST(parse_hex_digit) {
    json_validator validator("2x");
    ASSERT_EQ(true, validator.parse_hex());
    ASSERT_EQ(std::string("x"), validator.left());
}

// 后续为有效的十六进制字符
TEST(parse_hex_xdigit) {
    json_validator validator("C2x");
    ASSERT_EQ(true, validator.parse_hex());
    ASSERT_EQ(std::string("2x"), validator.left());
}

// 后续为无效字符
TEST(parse_hex_other) {
    json_validator validator("x2");
    ASSERT_EQ(false, validator.parse_hex());
    ASSERT_EQ(std::string("x2"), validator.left());
}
